def filetrchar(string):
    '''功能：过滤危险字符
        about:要过滤的字符串2
        没有返回值
        '''
    import re
    pattern=r'(黑客)|(抓包)|(监听)|(Trojian)'  #导入re正则模块
    sub=re.sub(pattern, '@_@', string)
    print(sub)   #进行模式替换

about="我是一名程序员，喜欢 看黑客方面的书，想研究一下Trojian."
filetrchar(about)

#函数传值-基本的形式参数与实际参数之一
def zoomla1(fage):
    print("原值：",fage)
    fage+=fage

zoomla2="曹门佬"
print("\n函数调用前：",zoomla2)
zoomla1(zoomla2)
print("字符串不可变-函数调用后：",zoomla2)
zoomla3=['中国','美国','印度']
zoomla1(zoomla3)
print("引用列表后可变-函数调有后：",zoomla3)

#函数传值-基本的形式参数与实际参数之二
def zoomla01(fage):
    print("原值：",fage+"+发哥")
    fage=fage

zoomla4="曹门佬"
print("\n函数调用前：",zoomla2)
zoomla01(zoomla4)
print("字符串不可变-函数调用后：",zoomla4)
zoomla03=['中国','美国','印度']
zoomla01(str(zoomla03))
print("引用列表后可变-函数调有后：",zoomla03)

#函数的使用示例
def fun_bmi(name,gao,zhong):
    '''功能：根据身高和体重计算BMI指数
    name:姓名
    gao:身高,单位：米
    zhong:体重，单位：千克
    '''
    print("\n算算BMI示例"+name+"的身高："+str(gao)+"米 \t 体重："+str(zhong)+"千克")
    bmi=zhong/(gao*gao)
    print(name+"的BMI指数为："+str(bmi))
    # 判断身材是否合理
    if bmi<18.5:
        print("你的体重过轻\n")
    if bmi>=18.5 and bmi<24.9:
        print("正常范围，请注意保持\n")
    if bmi>24.9 and bmi<29.9:
        print("你的体重过重")
    if bmi>=29.9:
        print("肥胖一枚")

#*********调用函数***********
'''
n=input("你的姓名：")
h=float(input("你的身高："))
w=float(input("你的体重"))
fun_bmi(n,h,w)
'''

print("\n使用关键参数定义：")
fun_bmi(name="小丽",gao=1.8,zhong=76)

#*********定义任意多个参数
def coffe(*ss):
    print('\n我喜欢的咖啡有：')
    for x in ss:
        print(x)

coffe('蓝山')
coffe('蓝山',"白纸")
